import { RMIProxyObject } from "../../Engine/RMI/RMIProxyObject";
import { IStallPrx } from "./IStallPrx";
import { AMI_IStall_addStallLeaveWord } from "./AMI_IStall_addStallLeaveWord";
import { SEntityId } from "../Public/SEntityId";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { Outgoing } from "../../Engine/RMI/Outgoing";
import { AMI_IStall_buyItem } from "./AMI_IStall_buyItem";
import { AMI_IStall_buyItemResult } from "./AMI_IStall_buyItemResult";
import { SStallBuy } from "../Public/SStallBuy";
import { AMI_IStall_clearStallLeaveWords } from "./AMI_IStall_clearStallLeaveWords";
import { AMI_IStall_closeStall } from "./AMI_IStall_closeStall";
import { AMI_IStall_downItem } from "./AMI_IStall_downItem";
import { AMI_IStall_endStall } from "./AMI_IStall_endStall";
import { AMI_IStall_modifyStallIntroduce } from "./AMI_IStall_modifyStallIntroduce";
import { AMI_IStall_modifyStallName } from "./AMI_IStall_modifyStallName";
import { AMI_IStall_myStallName } from "./AMI_IStall_myStallName";
import { AMI_IStall_openStall } from "./AMI_IStall_openStall";
import { AMI_IStall_startStall } from "./AMI_IStall_startStall";
import { AMI_IStall_upItem } from "./AMI_IStall_upItem";
type int = number;
//class IStallPrxHelper
    
    export  class IStallPrxHelper extends RMIProxyObject implements IStallPrx
    {
        constructor()
        {
            
            super();name = "IStall";
            return;
        }

        public addStallLeaveWord_async(arg1: AMI_IStall_addStallLeaveWord, arg2: SEntityId, arg3: SEntityId, arg4: string): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("addStallLeaveWord");
            var loc3=new SerializeStream();
            arg2.__write(loc3);
            arg3.__write(loc3);
            loc3.writeString(arg4);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public buyItem_async(arg1: AMI_IStall_buyItem, arg2: SEntityId, arg3: SEntityId, arg4: string, arg5: int, arg6: int, arg7: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("buyItem");
            var loc3=new SerializeStream();
            arg2.__write(loc3);
            arg3.__write(loc3);
            loc3.writeString(arg4);
            loc3.writeInt(arg5);
            loc3.writeInt(arg6);
            loc3.writeInt(arg7);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public buyItemResult_async(arg1: AMI_IStall_buyItemResult, arg2: SStallBuy): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("buyItemResult");
            var loc3=new SerializeStream();
            arg2.__write(loc3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public clearStallLeaveWords_async(arg1: AMI_IStall_clearStallLeaveWords, arg2: SEntityId): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("clearStallLeaveWords");
            var loc3=new SerializeStream();
            arg2.__write(loc3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public closeStall_async(arg1: AMI_IStall_closeStall, arg2: SEntityId): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("closeStall");
            var loc3=new SerializeStream();
            arg2.__write(loc3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public downItem_async(arg1: AMI_IStall_downItem, arg2: string): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("downItem");
            var loc3;
            (loc3 = new SerializeStream()).writeString(arg2);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public endStall_async(arg1: AMI_IStall_endStall): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("endStall");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public modifyStallIntroduce_async(arg1: AMI_IStall_modifyStallIntroduce, arg2: SEntityId, arg3: string): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("modifyStallIntroduce");
            var loc3=new SerializeStream();
            arg2.__write(loc3);
            loc3.writeString(arg3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public modifyStallName_async(arg1: AMI_IStall_modifyStallName, arg2: SEntityId, arg3: string): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("modifyStallName");
            var loc3=new SerializeStream();
            arg2.__write(loc3);
            loc3.writeString(arg3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public myStallName_async(arg1: AMI_IStall_myStallName): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("myStallName");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public openStall_async(arg1: AMI_IStall_openStall, arg2: SEntityId): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("openStall");
            var loc3=new SerializeStream();
            arg2.__write(loc3);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public startStall_async(arg1: AMI_IStall_startStall): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("startStall");
            var loc3=new SerializeStream();
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public upItem_async(arg1: AMI_IStall_upItem, arg2: string, arg3: int, arg4: int, arg5: int): void
        {
            var loc1=makeContext(session);
            var loc2=makeCall("upItem");
            var loc3;
            (loc3 = new SerializeStream()).writeString(arg2);
            loc3.writeInt(arg3);
            loc3.writeInt(arg4);
            loc3.writeInt(arg5);
            Outgoing.invokeAsync(loc1, loc2, loc3, arg1);
            return;
        }

        public static /* const */NAME: string="Message.Game.IStall";
    }
